Communication device and method

ABSTRACT

In the present invention, the implementation of a protocol that embeds packets is made sensitive to the type of data being embedded, so that adjustable parameters can be set automatically at the layer providing the parameters being adjusted in accordance with the packets being embedded. Thus it is taken into account that the data in packets being received from a higher layer in order to be encapsulated or segmented and sent further (either directly into the link or on to lower layer), may be classified into different categories with respect to the adjustable parameters, where the parameters can automatically be adjusted for an individual packet in accordance with the category into which is classified.

FIELD OF THE INVENTION

[0001] The present invention relates to a device and method for sendingdata packets, for example over a link establishing a connection betweena computer and a packet exchange network such as the so called Internet.

BACKGROUND OF THE INVENTION

[0002] With the progress in data processing and communicationstechnology over the past years, the establishment of data exchangenetworks has become an important fixture in many aspects of the modernworld, e.g. in the scientific and military community, but also withstrongly increasing growth in the business and private realm. The bestexample of this is the steadily rising offer and demand of services inthe world wide communication network commonly referred to as theInternet. In principle, the term “internet” simply refers to a networkconsisting of other networks, so that the world wide “Internet” is onlyan example, albeit a very well known one.

[0003] The commonly used data exchange principle for networks is that ofpacket exchange. This means that the data to be sent is broken down intounits. Rules for sending and receiving such units, as well as rules forthe structure of the units themselves are determined by so calledprotocols. Protocols are sets of rules that allow the communicationbetween a sending end and a receiving end, as the rules specify how andin what form data to be sent has to be prepared, such that the receivingend may interpret the data and react in accordance to protocol definedrules to which both partners in the communication adhere.

[0004] An important concept for allowing the exchange of data betweendifferent networks, and thereby between numerous kinds of software andhardware, is that of protocol layering. This means that a number ofprotocols (sometimes also referred to as a suite) is organized in ahierarchy of layers, where each layer has specific functions andresponsibilities. This will briefly be explained by referring to anexample illustrated in FIGS. 3 to 5. A more detailed description of thisconcept is e.g. given in “TCP/IP Illustrated, Volume 1, The Protocols”by W. Richard Stevens, Addison-Wesley, 1994.

[0005] The Transmission Control Protocol (TCP) and the Internet Protocol(IP) are examples of protocols according to which communication over theInternet may be handled. What is commonly referred to as TCP/IP,however, comprises other protocols as well. The so-called TCP/IP suitehas four layers, as shown in FIG. 3. The link layer handles the inputand output of data into the physical communication media, e.g. a cableor a radio connection. It typically is implemented in the device driverin the operating system and the corresponding network interface card inthe computer. The network layer handles the movement of packets aroundthe network, e.g. routing. IP is an example of a network layer protocol.The transport layer provides a flow of data for the application layerabove. For example, TCP is at the transport layer. An alternative to TCPis the User Datagram Protocol (UDP). The application layer isconstituted by the application program sending or receiving data, e.g.an e-mail program.

[0006] A communication between two points then has the schematic formshown in FIG. 4. Data is first handed down through the layers and inputinto the physical connection on the sending side, and then handed upthrough the layers on the receiving side. This is indicated by the solidline arrows. The elements handling the data at a given layer inaccordance with a protocol specified for that layer (e.g. TCP at thetransport layer in the example of FIG. 4) are also referred to as peers.In other words, the transport layer in the example of FIG. 4 is handledby a TCP peer. It should be noted that the physical connection shown atthe bottom of FIG. 4 may again consist of one or more protocol layers ofits own, depending on the type of connection. This will be explained inmore detail further on.

[0007]FIG. 5 illustrates the mechanism of passing data through thelayers. The typical basic structure of a packet has two parts, namely aheader and a payload part. The header contains information on the typeof data contained in the payload part and communication controlinformation for the respective layer. As can be seen in FIG. 5, at theapplication layer user data is processed by adding a header. Theresulting data unit or packet is passed to the transport layer, wheree.g. a TCP header is added. This TCP header contains information for theTCP peer on the receiving side. The resulting packet is sometimes alsoreferred to as a TCP segment. Then this TCP segment is passed to thenetwork layer, where in the example of FIG. 5 an IP header is added thate.g. contains routing information. The resulting packet is also referredto as an IP datagram. Finally, the IP datagram is passed to the linklayer, where a header associated with the link layer protocol (LLP),e.g. the Point-to-Point Protocol (PPP), is added. The resulting packetis often called a frame. The frame also receives a start flag and an endflag, such that a receiver may recognize where a frame begins and whereit ends. This process of embedding a packet of a higher layer in alarger packet of a lower layer is referred to as encapsulation.

[0008] On the receiving side, the user data is extracted by steps ofde-encapsulation in the opposite order of what is shown in FIG. 5. Itshould be noted that the above description only refers to an example,and variations are possible. For example, some protocols not only addheaders, but also trailers.

[0009] It should be remarked that a packet need not originate from theapplication layer, much rather a lower layer may generate a packet, e.g.for sending specific information regarding only that layer to thecorresponding peer at the receiving end. An example of this is thesending of Link Control Protocol (LCP) packets prior to sending higherlayer data, where said LCP packets are used by the link layer peers toconfigure the (physically established) link in accordance withparameters that are adjustable and/or negotiable at the link layer.

[0010] The representation in FIG. 4 is only very schematic, as itimplies that the four individual peers on each side are respectivelyimplemented in one location. This is possible, but in reality thesituation is usually more complicated. FIG. 6 schematically shows anexample of a communication between an IP-host 1 and an IP-host 2. Thetop part of the figure represents the physical communication path, andthe lower part of the figure shows the logical communication pathassociated with the various protocols employed. The example of FIG. 6relates to a connection to the Internet via a GSM network.

[0011] IP-host 1 can e.g. be a laptop computer. The terminal adaptationfunction TAF can be fulfilled e.g. by a PCMCIA interface card that isconnected to the mobile station MS, e.g. a cellular telephone. Themobile station MS communicates with a base transceiver station BTS,which in turn is connected to a base station controller BSC. Theconnection to a public switched telephone network PSTN is accomplishedby a modem in the interworking function IWF of the mobile switchingcenter MSC associated with the base transceiver station BTS. It may benoted that due to the fact that GSM is digital, the TAF is not a modem.Finally, the PSTN provides the connection to an Internet servicesprovider ISP, who in turn provides a gateway to the Internet. Thephysical connection between the Internet and IP-host 2, e.g. a personalcomputer to which an e-mail from IP-host 1 is to be sent, is not shown.

[0012] As can be seen in the lower part of FIG. 6, a TCP peer, an IPpeer and a PPP peer are implemented at IP-host 1. The corresponding TCPpeer and an IP peer reside in IP-host 2, whereas an IP peer and PPP peerare implemented at the Internet services provider ISP.

[0013] An important aspect of the layering scheme is that the differentlayers are “transparent”. This means that the peers in a layer areoblivious to what happens in another layer. As an example, the PPP peersestablish a pseudo-dedicated PPP connection between the IP-host 1 andthe Internet services provider ISP. The two PPP peers operateindependently of what type of physical connection is used, i.e.independently of which specific protocols are provided in lower layers.Equally, the PPP peers pass packets coming from higher layerstransparently, i.e. with out regarding their contents.

[0014] In the example of FIG. 6, a forward error correction (FEC) layerand an interleave layer are provided between the mobile station MS andthe base transceiver station BTS, a layer 2 relay (L2R) and a radio linkprotocol (RLP) connection are established between the terminaladaptation function TAF and the mobile switching center MSC, and V.42and V.32 interfaces are established between the interworking functionIWF and the Internet service provider ISP. All of these protocols areknown and, except for RLP, will not be discussed further.

[0015] It should be noted that although the RLP is responsible fortransporting data units from higher layers, this is not done by means ofencapsulation, i.e. by one higher layer data unit being fit into onelower layer data unit, much rather RLP performs segmentation, i.e. onehigher layer data unit is divided into a plurality of segments and eachsegment is placed into a lower layer data unit. In other words, the RLPdata units are smaller than the higher layer data units (e.g. a PPPframe) they transport. The principle of placing data units of a higherlayer in data units of a lower layer will be referred to as embedding inthis description, which comprises both encapsulation and segmentation.

[0016] As can be seen from the above, packets associated with differentprotocols are sometimes referred to differently, e.g. frame, segment,datagram etc. For the purpose of clarity, the present description usesthe term “packet” generically as meaning any data unit that has adefined syntax, and a data structure specified by a predeterminedprotocol. “Data structure” means that specific data at defined locations(addresses) has a specific meaning defined by the respective protocol.An example of this will be explained in connection with FIG. 7, in whicha frame structure in accordance with the high-level data link controlprotocol (HDLC) is shown. HDLC is a very basic protocol, and e.g. PPPhas adopted many of the basic features of HDLC.

[0017]FIG. 7 shows a HDLC frame that has an address field, a controlfield, an information field and a check field. In HDLC, the addressfield, control field and information field are of variable length, butthe check field has a fixed length defined by the protocol. For example,the information field is simply defined as those octets that follow thecontrol field and precede the check value.

[0018] A field is therefore an example of a defined location in theabove sense, and a protocol will define that a specific number in aspecific field is to be interpreted in a given way, i.e. the number hasa specific meaning defined by the protocol.

[0019] Problem Underlying the Invention

[0020] With regard to the sending of packets, it is known to providemodes of transmission reliability, e.g. the above mentioned HDLC allowstwo modes of transmission reliability, namely the so called numberedmode (or I-mode) and the so called unnumbered mode (or UI-mode).

[0021] In the numbered mode, if it is determined that a sent packet wasnot correctly received by the receiving peer, then the sending peerperforms retransmission of said packet. In this way it can be assuredthat all packets are correctly transmitted, although this can cause adelay in total transmission time, depending on how many packets have tobe retransmitted. The information on the correct receipt of packets willtypically be communicated by means of acknowledgment messages from thereceiving peer to the sending peer, and the precise flow control for thetransmission and retransmission will usually be performed by using theconcept of sliding windows (so-called window based flow control),according to which a sender may send out more than one packet beforereceiving a acknowledgment, i.e. does not have to wait for anacknowledgment for each packet before sending out the next one. Theseprinciples of flow control are well known in the art, e.g. in the abovementioned book by Stevens, and do not need to be repeated here.

[0022] In contrast to the numbered mode, the unnumbered mode does notprovide for retransmission. This means that packets are simply sent outin the given order, regardless of their being received correctly by thereceiving peer. This mode has the advantage of faster transmission, buttransmission reliability depends on the quality of the physicalconnection.

[0023] Transmission reliability is especially a problem in connectionsthat comprise radio links. In the example of FIG. 6, the radio linkprotocol RLP is run. All known implementations of RLP are fixedly set torun in the numbered mode. In this way, the reliable transmission of dataover a radio link, whose transmission quality can strongly fluctuate, isensured. It is known to implement such systems as shown in FIG. 6 insuch a way that the mobile station MS can request during connectionset-up that no RLP be run (also referred to as a transparentcircuit-switched GSM data service in the context of the example of FIG.6). This reduces the transmission delay, but at the price of reducedtransmission reliability.

[0024] This problem is not restricted to the RLP or to radio links, butbasically occurs in any protocol that provides a reliability mode suchas the above mentioned numbered mode.

[0025] Moreover, there generally appears the problem of choosingappropriate operating modes for the transmission of packets at a certainlayer.

[0026] From the Request for Comments (RfC) 2475 by Blake et al.,December 1998 (http://www.ietf.org/html.charters/diffserv-charter.html),a proposal for an architecture for differentiated services is known. RfC2475 suggests classifying and marking packets to receive a particularper-hop forwarding behavior (PHB) on nodes along their path. Headerinformation in the header of a packet belonging to a given protocollayer is used exclusively by implementations of said given protocollayer. The differentiated services architecture is based on a modelwhere traffic entering a network is classified and possibly conditionedat the boundaries of the network, and assigned to different behavioraggregates. Each behavior aggregate is identified by a singledifferentiated services (DS) codepoint. Packet classifiers aredescribed, which select packets in a traffic stream based on the contentof some portion of the packet header. As already mentioned, the DScodepoint or DS field, which belongs to the IP layer, is only used atthe IP layer. A behavior aggregate classifier is described, whichclassifies packets based on the DS codepoint only. Also, a multi-fieldclassifier is described, which selects packets based on the value of acombination of one or more header fields.

OBJECT OF THE INVENTION

[0027] It is the object of the present invention to generally provide amechanism for implementations of protocols that solves the above problemand makes the control for choosing operating modes more efficient, e.g.enables a better relation between transmission reliability andtransmission speed.

DESCRIPTION OF INVENTION

[0028] This object is solved by the device and method described in theindependent claims, where a communication device is provided forgenerating data packets to be sent out having a first data structuredetermined by a first predetermined protocol, which is arranged toreceive data packets of a second structure determined by a predeterminedsecond protocol and generating said data packets of said first structureby embedding each data packet of said second structure in one or moredata packets of said first structure, and which comprises adiscriminator means that is arranged to discriminate said data packet ofsaid second structure according to predetermined rules, on the basis ofthe contents of said data packets of said second structure.

[0029] Advantageous embodiments are described in the dependent claims.

[0030] According to the present invention, the implementation of aprotocol is made sensitive to the type of data being sent, so that thesetting of parameters relevant for the transmission can be adjustedautomatically at the layer setting the parameters being adjusted inaccordance with the contents of the packets to be sent. In other words,the present invention can take into account that the data in packetsbeing received from a higher layer in order to be encapsulated orsegmented and sent further (either directly into the link or on to lowerlayer), may be classified into different categories with respect to theadjustable parameters, where the parameters can automatically beadjusted for the individual packet in accordance with the category intowhich is classified.

[0031] The term contents refers to any contents. It should be noted thatthe specific type of contents used for discriminating may therefore bedata consciously added to the packet by the originator of the packet ata specific layer in view of the discrimination operation at a lowerlayer, i.e. there is a scheme through which higher layer peers mayspecify information to lower layer peers in order to influence operatingmodes at the lower layer, e.g. by using a predetermined field of thehigher layer protocol, or the discrimination operation at the lowerlayer will be conducted independently and individually, i.e. without anyactive influence from higher layers, namely by parsing for data thatdoes not carry the intention of conveying information to lower layers,e.g. the protocol ID in a header.

[0032] The present invention therefore develops a concept that basicallycontradicts the firmly established teaching that all layers must operateindependently of one another. In contrast to what is known, namely thepossibility of having a higher layer set a specific parameter (e.g.reliability) at a lower layer when setting up the connection, thepresent invention makes the implementation of a given protocol at agiven layer intelligent, such that it can flexibly and according its owndeterminations continuously set the parameters depending on what type ofpackets are to be sent.

[0033] According to a preferred embodiment of the present invention, theadjustable parameters relate to the reliability mode, such that thereliability mode (e.g. the numbered or unnumbered mode) is adjustedautomatically at the layer performing the embedding, on the basis of thediscrimination result.

[0034] This preferred embodiment provides the advantage that datapackets suitable for different transmission reliability modes canautomatically be sent simultaneously between peers of the layer at whichthe present invention is applied. For example, if the present inventionis applied to an implementation of the RLP that embeds PPP packets bysegmentation, which in turn encapsulate packets of higher layers, suchas IP and above that TCP or UDP, then the RLP implementation inaccordance with the invention can discern the packets containing UDPpackets and those containing TCP packets, and can e.g. send the UDPpackets in the unnumbered mode and the TCP packets in the numbered modeat the RLP layer.

[0035] As already indicated in this last example, the embodimentrelating to the setting of reliability modes is preferably applied tothe implementation of the protocol at the link layer (e.g. RLP). Also,the classification into categories is preferably done by taking intoaccount the transmission reliability provisions of the higher layerpackets being classified. In the above example, the UDP packets wereclassified into a category such that they are sent in the unnumberedmode, which is advantageous, as the UDP itself does not provide forretransmission of corrupted packets. By contrast, TCP provides forretransmission. By applying the present invention, it is possible tosend TCP packets and UDP packets simultaneously at the RLP layer, butnonetheless each packet in the appropriate transmission reliability modeat said RLP layer, which means that the TCP packets can be sent with thedesired or necessary reliability in the numbered mode, whereas the UDPpackets are not unnecessarily delayed by potential retransmissions byalso being sent in the numbered mode.

[0036] In connection with the above example, the invention offers greatadvantages. PPP is used to transport multiple protocols, such as IP, LCP(link control protocol), PAP (password authentication protocol) etc.simultaneously over a serial link. A PPP protocol identifier identifieswhich protocol data unit (PDU) or protocol packet is contained in aparticular PPP packet. IP, which in turn is carried by PPP, can carrypackets of multiple protocols, namely TCP, UDP and ICMP (InternetControl Message Protocol), which are also distinguished by a protocolidentifier in the IP header. The different protocols that are eventuallytransported by PPP have different requirements requiring the trade-offbetween reliability versus delay. Consequently, either the numbered orthe unnumbered mode of RLP is appropriate for certain data streams. Morespecifically, signaling messages such as LCP or PAP should be carried inthe numbered mode, whereas real-time data streams (e.g. voiceinformation for an Internet-telephone conversation sent in UDP packets)can usually tolerate losses but are more delay sensitive, which is bestserved with the unnumbered mode.

[0037] In the known implementations and systems this conflict could notbe solved. If RLP fixedly running in the numbered mode is used, then areal-time UDP data stream can not run in parallel on a mobile computingdevice with a data stream (e.g. TCP) that requires the numbered mode. IfRLP is not used, then after the circuit-switched connection isestablished, which means that charges are incurred, the establishment ofthe PPP link can fail, because LCP packets may get corrupted in theunnumbered mode. Consequently, the subscriber would have to pay for thecall but not receive the desired service.

[0038] The present invention solves this conflict, because according tothe invention the RLP implementation will automatically send the LCPmessages in the numbered mode, whereby safe PPP link establishment isensured, and then send following PPP packets containing UDP packets inthe unnumbered mode, so that these are not unnecessarily delayed.Moreover, not only can such a conflict between different kinds ofpackets sent at different times during one connection be solved, but thepresent invention also allows two conflicting streams (in terms ofreliability) to be sent in parallel, e.g. the above mentioned UDP datastream together with the TCP packets.

[0039] It should be noted that the above mentioned protocols and theabove mentioned situation are only examples that are used to betterexplain the embodiment and its advantages. As already mentioned, theembodiment relating to the setting of reliability modes can be appliedto any implementation of a protocol that allows for two or morereliability modes. For example, it can also be applied if LLC (LogicalLink Control) packets are to be sent over a RLC (Radio Link Control)link. Equally well, the place of implementation is naturally notrestricted to the above example of FIG. 6, but will be wherever it issuitable or desirable for the given protocol. For example, in a GeneralPacket Radio Service (GPRS), it would be the TAF and the GSN (GPRSSupport Node).

[0040] In effect, this means that the application of the presentinvention to the setting of reliability modes automatically providesvirtual transmission reliability channels for the respective number oftransmission reliability modes that are provided or chosen, where theimplementation places specific types of packets in a specific virtualchannel. In the context of the above example, this means that twovirtual channels are provided, because there are two transmissionreliability modes, i.e. a numbered channel and an unnumbered channel areprovided, and TCP packets (more specifically: packets embedding TCPpackets) are placed in the numbered channel, and UDP packets are placedin the unnumbered channel.

[0041] Expressing the above example in more general terms, the inventionmay be applied to the transmission scheme of ARQ-based error correction(ARQ=Automatic Repeat reQuest), where the choice of an operating mode(i.e. a reliability mode in this context of ARQ) may be based on thecontents of packets being embedded. The possible modes are naturally notrestricted to only two, i.e. unreliable (UI-mode) and reliable (I-mode),but may also have a larger number, such as there being a semi-reliablemode in addition to the UI-mode and I-mode, said semi-reliable modebeing a combination of the two others with in-sequence-delivery orout-of-sequence delivery.

[0042] As can be seen above, the present invention may be applied to thesetting of reliability modes, but is by no means restricted thereto.Quite to the contrary, the present invention is applicable to thesetting or adjusting of any kind of operating mode in the context ofembedding higher layer packets at a lower layer. More specifically, thepresent invention is applicable to all transmission schemes which haveat least two different operating modes, such as the transmission schemeof FCS-based error detection (FCS=Frame Check Sequence) with theoperating modes of e.g. the receiver discarding erroneous frames, thereceiver marking but not discarding erroneous frames, and the receiverneither marking nor discarding erroneous frames, where thediscriminating operation may naturally be made in view of any two of themodes or all three. Or the invention is applicable to the transmissionscheme of FEC-based error correction (FEC=Forward Error Control) withthe operating modes of e.g. using one of two or more FEC schemes. Or theinvention is applicable to the transmission scheme of interleaving-basederror prevention with the operating modes of e.g. using one of two ormore interleaving schemes. Or the invention is applicable to thetransmission scheme of power control with the operating modes of e.g.using one of two or more power levels. Or the invention is applicable tothe transmission scheme spreading-based error prevention (inspread-spectrum technologies such as CDMA) with the operating modes ofe.g. using one of two or more spreading factors. Or the invention isapplicable to the transmission scheme of frame length control with theoperating modes of using e.g. one of two or more possible frame lengths.Or the invention is applicable to the transmission scheme of bandwidthreservation control with the appropriate operating modes such as theallocation of 1, 2, 3, . . . or 8 time slots e.g. in the GPRScommunication standard.

[0043] An important advantage of the present invention lies in the factthat it in principal does not require the alteration of any protocols,but only of its peer implementations, so that it can be applieduniversally in any appropriate context without compatibility ortransition problems.

[0044] According to another preferred embodiment, the present inventionis applied to provide a way of transmitting packets at a lower layer inaccordance with transmission quality requests (such as QoS (Quality ofService) requirements and/or transmission priorities) specified by peersof a higher layer, where the packets or data units of said higher layerare embedded at said lower layer. The peers of the higher layer use thepackets of said layer as a vehicle for conveying said quality requeststo the lower layer, i.e. there is a standardized scheme by which saidquality requests can be understood by implementations of both layers. Asan example, this can be done by using a predefined field in the headerof the higher layer packets and standardizing the contents of saidfield. In other words, a type of control channel is provided forconveying quality requests from the higher layer to the lower layer.Said quality requests are not only used to map higher layer packets orflows (a flow is a uniquely identifiable stream of packets) to operatingmodes provided for the transmission at the lower layer, but also todynamically adapt the operation modes themselves, at least in part onthe basis of said quality requests.

[0045] It may be noted that the transmission quality requests are a typeof control information that may be used as a quality command for lettingthe higher layer set a specific operating mode at the lower layer, ormay be used by the lower layer implementation liberally such that thelower layer implementation chooses the operating mode for a given packetcarrying said quality request on the basis of said quality request, butthe higher layer has no direct influence on which mode the lower layerwill choose.

[0046] Further aspects and advantages of the present invention willbecome more readily understandable from the following detaileddescription of preferred embodiments, in which reference is made to thefigures which illustrate these preferred embodiments.

BRIEF DESCRIPTION OF FIGURES

[0047]FIG. 1 is a block diagram showing an embodiment of a communicationdevice according to the present invention;

[0048]FIG. 2 is a flow chart showing an embodiment of a method accordingto the present invention;

[0049]FIG. 3 is a schematic diagram for explaining the concept ofprotocol layering in terms of the example of the TCP/IP suite;

[0050]FIG. 4 is a schematic diagram for explaining the flow of packetsthrough the layers shown in FIG. 3;

[0051]FIG. 5 is a schematic diagram showing the concept of encapsulationin the subsequent protocol layers of FIG. 3 and FIG. 4;

[0052]FIG. 6 shows a schematic example of a connection between twoIP-hosts over a circuit-switched GSM link, and the correspondinghierarchy of layers and protocols;

[0053]FIG. 7 shows the basic structure of a HDLC frame;

[0054]FIG. 8 is a block diagram of a preferred embodiment of the deviceaccording to the present invention;

[0055]FIGS. 9a and 9 b are a flow chart showing a preferred embodimentof the method of the present invention;

[0056]FIG. 10 shows a communication arrangement for explaining anotherpreferred embodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0057] The present invention will be described by way of embodimentsrelating to the setting of transmission reliability modes. As alreadymentioned, this is a preferred application of the invention and serveswell to illustrate the invention. However, the invention is generallyapplicable to the setting of any kind of adjustable parameter, e.g. alsoto the setting of security modes.

[0058] A basic embodiment of the present invention will be described byreferring to FIG. 1. In accordance with this embodiment, a communicationdevice that is constituted by the implementation of a communicationprotocol of layer n receives packets from a higher layer (n+1), suchthat these packets may be embedded into packets of the layer n. Asalready mentioned, the term “embedding” comprises both encapsulation andsegmentation. It should be remarked that the entire introductory portionof the present application is incorporated into the disclosure of theinvention, to thereby avoid unnecessary repetitions.

[0059] As an example, the protocol of layer n could be RLP and thepackets of layer (n+1) could be PPP frames, in which case the embeddingwould consist in the segmentation of one PPP frame or packet into aplurality of RLP packets. It may be remarked that a PPP frame willtypically have a length of 1500 byte, whereas a RLP frame will typicallyhave a length of 30 byte. Another example would be that the protocol oflayer n is PPP and the protocol of layer (n+1) is an appropriate higherlayer protocol, such as one of the protocols shown in FIG. 5, in whichcase the embedding would be done by encapsulation.

[0060] In accordance with the invention, this embodiment has adiscriminator 1 that receives the packet of layer (n+1), where saiddiscriminator discriminates the received packet according topredetermined rules of classification. This means that the discriminatorwill check for certain properties of the received packet, and thenclassify the received packet according to the given rules. An example ofthis could be, in the case that the packets of layer n are PPP frames,to check the individual headers of the received PPP frame to therebydetermine what type of information is being transported by said frame,and then accordingly classifying the frame. For example, if the frame iscarrying LCP information, then it may be classified into the category“reliable transport”, and if it is carrying UDP information, then it maybe classified into the category “reliability not required”.

[0061] It is clear that the above mentioned protocols and categories areonly examples, and the present invention relates to all types ofdiscriminators that are capable of classifying a received packet inaccordance with its contents. As a consequence, these packets canbasically be of any protocol and naturally there can be an arbitrarynumber of categories into which packets are classified. This number ofcategories can be equal to the number of transmission reliability modesthat the protocol of layer n provides, but may also be lower if theprotocol of layer n provides for more than two modes of transmissionreliability.

[0062] The result of the discrimination, i.e. the classification isconveyed to a control means 2 that in turn controls an embedding means 3with a transmission reliability setting command. In other words, thediscriminator passes the packet to be embedded on to the embedding means3, where it is embedded into one or more packets of layer n and thetransmission reliability mode, which is appropriately set in each packetof layer n, e.g. by a corresponding flag, is set in accordance with thetransmission reliability setting command.

[0063] The thus generated packets of layer n are then appropriatelypassed on to the next stage of processing. This next stage of processingdepends on the specific application, and can therefore be chosen in anydesirable or required way. For example, if the packets of layer n areintended to directly go to a next lower layer of (n−1) (not shown inFIG. 1), then it is possible that the packets of layer n will simply bepassed to an input buffer of the next layer. On the other hand, if e.g.the packets are intended to be sent over an established link, then theywill be preferably placed in an output buffer, which is appropriatelycontrolled in accordance with the given situation. The precise method offlow control from such an output buffer depends on the specificapplication, e.g. the given protocol of layer n and on the specificlink.

[0064] As can be seen from the above, the present invention is highlyflexible in that it can be applied to any protocol implementation thatembeds packets of one layer in packets of another and which provides forat least two different reliability modes.

[0065]FIG. 2 shows a flow chart that embodies the method of the presentinvention. In a first step S1 it is determined if a higher layerprotocol packet has been received or not. If such a packet has beenreceived, then the process proceeds to step S2, in which the receivedpacket is discriminated according to predetermined rules ofclassification. Then in step S3 the received packet is embedded into oneor more packets of the given layer (e.g. n in FIG. 1) and thetransmission reliability mode in each of said packets is set inaccordance with the discrimination result. Finally, the embedded packetsare passed on to the next stage, where the process shown in FIG. 2 sendssaid packets to an output buffer in step S4 for being sent out. A systemcorresponding to what is shown in FIG. 1 and having an input and anoutput buffer is shown in FIG. 8. As can be seen, the device of FIG. 8also has a discriminator 1, a control means 2 and an embedding means 3,and additionally an input buffer 4 and an output buffer 5 are shown,which are also both connected to and controlled by the control means 2.The operation is similar to that explained in connection with FIG. 1,only that the packets of layer n are provided to the discriminator 1 viathe input buffer 4, where the control means 2 performs an appropriatecontrol for letting the input buffer 4 pass packets to the discriminator1, and in that FIG. 8 shows an example, in which the embedding means 3passes the packets of layer n to an output buffer, which sends saidpackets of layer n out under control of the control means 2.

[0066] As already mentioned, the present invention is flexible in thatany appropriate method of flow control can be chosen. As an example, incase there are two transmission reliability modes, such as the abovedescribed numbered and unnumbered mode, then respective packets of layern can be placed into separate queues in the output buffer 5. In otherwords, if there are two transmission reliability modes that can be setin the packets of layer n, then the output buffer 5 will contain twoqueues. If these reliability modes are the numbered and unnumbered mode,then the output buffer will have a queue for packets of the numberedmode and a queue for packets of the unnumbered mode.

[0067] In general, one embodiment of this system shown in FIG. 8 canconsist in the output buffer 5 carrying a respective queue for eachtransmission reliability mode into which packets are discriminated bythe discriminator 1. Then the packets in the individual queues can behandled in any appropriate or desired way, e.g. there can be apredetermined priority order for the individual queues (i.e. theindividual reliability modes). An example of this, in an implementationhaving only a numbered and an unnumbered mode, could be that there is nobasic priority order between numbered and unnumbered packets for firstpackets to be sent (these packets are treated in a FIFO mannerregardless of which queue they belong to), but that numbered packetsthat are to be retransmitted receive a higher priority and areconsequently preferably transferred. Also in such a case, the flowcontrol of packets from the numbered mode queue can be conducted inaccordance with the known window-based flow control, whereas the flowcontrol from the unnumbered mode queue can be done by simply sendingthese packets out in the appropriate order.

[0068] However, other possibilities exist equally well, as will beexplained in more detail in connection with other preferred embodimentsfurther on.

[0069] A preferred embodiment for the method of the present invention isshown in FIGS. 9a and 9 b. Steps corresponding to those alreadydiscussed in connection with FIG. 2 carry the same reference numerals.The method shown in FIGS. 9a and 9 b relates to a case in which theinvention is applied to the implementation of a protocol, where saidprotocol provides a numbered reliability mode (I-mode) and an unnumberedreliability mode (UI-mode). In other words, in the numbered mode,packets are retransmitted if they are not correctly received by thereceiving peer, where the correct receipt is conveyed to the sendingpeer by means of acknowledgment packages, and the unnumbered mode doesnot provide for retransmission.

[0070] In FIG. 9, steps equal or equivalent to those described inconjunction with FIG. 2 carry the same reference sign. In a first stepS1 it is determined if a higher layer packet has been received. If yes,then the process proceeds to step S21, in which the protocol ID in theheader of the received higher layer packet is analyzed. For example, ifthe higher layer packet received is a PPP frame as shown at the bottomof FIG. 5, then the process will simply check the PPP header directlyfollowing the start flag. Then, in step S22 it is determined if theidentified protocol ID is associated with the numbered mode, saidassociation being given by the above mentioned predetermined rules. Forexample, in the case of PPP packets, it is preferable if said rulesstate that LCP packets be put into the numbered mode, because such LCPpackets are part of the link set-up procedure where a high amount ofreliability is necessary. Consequently, if in step S22 the processdetermines that LCP information is being transported, then the procedurebranches to step S31, in which the received higher layer packet isembedded into one or more packets of the layer at which the presentinvention is implemented, where the reliability mode in each of said oneor more packets is set to the numbered mode, e.g. by setting thecorresponding reliability mode flag in each packet.

[0071] If in step S22 it is determined that the identified protocol IDis not associated with the numbered mode, then step S23 determines ifthe identified protocol ID is associated with the unnumbered mode. Ifthis is the case, then the process proceeds to step S32, in which thereceived higher layer packet is embedded into one or more packets of thelayer at which the present invention is implemented, and the reliabilitymode in each of said one or more packets is set to the unnumbered mode,e.g. by setting the appropriate flag. If both steps S22 and S23 lead toa negative result, then step S24 specifies that the check proceed up oneprotocol layer in the received packet, such that the next header bechecked. When again looking at the example at the bottom of FIG. 5, thiswould be the IP header carrying a protocol ID distinguishing TCP, UDPand ICMP data. The process then repeats the steps S21 to S24. If thedetermined protocol ID can again not be allocated to either the numberedmode or the unnumbered mode, then the process again goes up one protocollayer, e.g. in the example of FIG. 5 to the TCP header.

[0072] In general, the association between given protocol packets andthe numbered mode or unnumbered mode will be stored in a table that islooked up during the decision steps S22 and S23. Ideally it should besuch that all possible protocols are stored in said table, so that anyreceived packet can eventually be classified into the numbered mode orunnumbered mode. However, for reasons of economy, it is equally wellpossible to implement a fail-safe mechanism into the process shown inFIGS. 9a and 9 b, e.g. a counter in step S24 that only allows a movingup to a next protocol layer for a predetermined number of times, wherethe exceeding of said predetermined number of times leads to a defaultmode being assigned to the received packet in question. This defaultmode can be either the numbered mode or the unnumbered mode. Naturally,other fail-safe mechanisms are possible, and can be chosen in anydesired or required way.

[0073] Returning to FIG. 9b, after step S31 or S32, the process proceedsto step S4, in which the packets are passed to the output buffer, justas in the case of FIG. 2. The process then turns to step S1 to wait forthe next higher layer packet to be received.

[0074] In a general way, the method of FIG. 9 embodies a system in whichthe data packets have one or more sections carrying information on thecontents of the packet (e.g. a packet encapsulating a hierarchy ofprotocols), and the discriminator means is arranged to analyze said oneor more sections to thereby discriminate the data packets in accordancewith their contents. More specifically, said one or more sections arepacket headers associated with respective protocol layers and containingprotocol identification information identifying the protocol with whichthe contents of the packet are associated. The packet headers form ahierarchy in accordance with the protocol layers, and, for a packet tobe discriminated, the discriminator is arranged to first determine theprotocol identification in the header associated with the first higherlayer protocol and then compare said protocol identification with storedrules that allocate a predetermined transmission reliability mode topredetermined protocol identifications. Furthermore, the discriminatoris arranged to set the transmission reliability mode for said packet tobe discriminated in accordance with a determined allocation if saidprotocol identification is among the stored rules, and if said protocolidentification is not among the stored rules, then determine theprotocol identification in the header associated with the next protocolone layer up in the hierarchy and then compare said protocolidentification of said next protocol with said stored rules thatallocate a predetermined transmission reliability mode,

[0075] where the process of determining and comparing is repeated untileither a determined protocol identification in said packet to bediscriminated is allocated to a predetermined transmission reliabilitymode according to one of the rules, in which case said transmissionreliability mode is set for said packet to be discriminated, or afail-safe condition is met, in which case a default transmissionreliability mode is set for said packet to be discriminated.

[0076] Preferably, the present invention is applied to theimplementation of protocols that use segmentation for embedding higherlayer packets into the packets to be sent over a link, and saidprotocols support two transmission reliability modes, namely a numberedmode and an unnumbered mode. Examples of such protocols are protocolsfor handling communication over radio links, such as the above mentionedRLP and RLC.

[0077] The application of the present invention to such protocols ispreferably done in accordance with the embodiments shown in FIGS. 8 and9.

[0078] Preferably in such a case, the invention then not only hasspecific features for embedding packets to be sent, but also comprisesspecific features relating to the receipt of such embedded link layerprotocols from a sending peer, i.e. features that relate to theimplementations properties as a receiving peer.

[0079] In the following, a number of basic mechanisms for a peer of alink layer protocol acting as both a sender and a receiver will beexplained with the help of an example using RLP as a link layer protocolembedding PPP frames by means of segmentation. It should however beremarked that these protocols are only examples for the purpose ofexplanation, such that the described mechanisms may be put to practicewith any other appropriate protocol.

[0080] According to a basic mechanism, the RLP sender analyses the datastream being passed to it from a higher layer, e.g. the PPP frames, todetermine in which mode each higher layer frame is to be sent, i.e. inthe numbered mode or unnumbered mode. This process will be done asdescribed in connection with FIGS. 8 and 9, such that a repetition isnot necessary here. The flow control of packets from the output bufferis performed such that RLP packets in the numbered mode and unnumberedmode are sent out on a FIFO basis with respect to the first sending (ofnumbered mode packets, because unnumbered mode packets are always onlysent once), but RLP packets of the numbered mode that are to beretransmitted have a higher priority and are therefore always sent assoon as possible.

[0081] The RLP receiver separates the packets of the unnumbered mode andnumbered mode into respective and distinct buffers or at least distinctqueues. Like the RLP sender, the RLP receiver always analyses the datain each buffer to thereby discriminate higher layer frames. Only once acomplete higher layer frame has been received, will it be released tothe higher layer on the receiving side. A problem may occur for packetssent in the unnumbered mode, because in such packets the delimiter (e.g.start or end flag) for the higher layer packet may get corrupted duringthe transmission, as no retransmission takes place. For this case theRLP receiver is adapted to employ a fixed buffer limit for packets ofthe unnumbered mode, beyond which packets of the unnumbered mode will bereleased to the next higher layer regardless if a delimiter has beenreceived or not. More specifically, after the fixed buffer limit isexceeded, the RLP receiver will release every RLP packet of theunnumbered mode to the next higher layer until another higher layerpacket delimiter has been detected. Using said higher layer packetdelimiter as a new starting point, the RLP receiver can then again waitfor the next higher layer packet delimiter, i.e. until the next completehigher layer packet has been received.

[0082] Another mechanism for enabling the RLP receiver to distinguishthe individual higher layer packets is to have the RLP sender duplicateevery higher layer delimiter it detects in the data that it sends out.In other words, in addition to discriminating the data in accordancewith its contents, the RLP sender will also look for the delimiters ofthe next higher layer, e.g. PPP, and always insert an identicaldelimiter next to each delimiter it detects. It is advantageous if theabove mentioned process in response to a fixed buffer limit beingexceeded is retained in the receiving features of the RLPimplementation, i.e. if the feature of delimiter duplication by theimplementation of the sender is combined with buffer limit featurerelating to the implementation of the sender.

[0083] Another mechanism relating to both the sending and receivingfeatures of an RLP implementation will now be discussed. The senderfeatures are again as described above, namely the sender analyses thedata stream it receives to determine in which mode each higher layerframe is to be sent, i.e. in the numbered mode or unnumbered mode. Flowcontrol from the output buffer is conducted in such a way thatretransmitted numbered mode packets always have a higher priority.Regarding the receiving features of the RLP implementation, the receiveris able to separate the numbered mode and unnumbered mode packets itreceives into distinct buffers or queues, just as in the previouslyexplained case. Now, the receiver only analyses numbered mode packets todiscriminate higher layer packets (e.g. PPP frames). In general, thereceiver immediately releases numbered mode and unnumbered mode packetsto the higher layer, with the usual restriction that numbered mode datacan only be released in the correct order. In other words, this meansthat the receiving buffer will usually not hold the received packets butmuch rather immediately release them, except for numbered mode packetsfor which retransmission is taking place, because then a certain amountof these numbered packets have to be buffered, because they can only bereleased in the correct order to the higher layer. Another exception isexplained in the following.

[0084] With this rule concerning how the receiver releases packets tothe higher layer on its side, four cases may be distinguished:

[0085] (a) only unnumbered mode packets are being transmitted (forexample the sender is only sending UDP packets, which may be referred toas a UDP session), where no problem occurs in this case;

[0086] (b) only numbered mode packets are being transmitted (for examplethe sender is only sending TCP packets, which can also be referred to asa TCP session), where again no problem occurs;

[0087] (c) unnumbered mode packets followed by numbered mode packets arebeing transmitted (for example a UDP session followed by a TCP session),where again no problem occurs; and

[0088] (d) numbered mode packets followed by unnumbered mode packets arebeing transmitted (for example a TCP session followed by a UDP session,or a UDP and TCP session that run in parallel), where a problem canoccur, if numbered mode packets have to be retransmitted and unnumberedmode packets are being received in the meantime.

[0089] To solve this problem of case (d), the following mechanism may beused. As long as the higher layer packet which was sent in the numberedmode has not been completely received (e.g. because the packet whichcontains the PPP frame delimiter marking the end of a TCP packet has tobe retransmitted) the unnumbered mode packets have to be buffered. Thebuffer will not be released to the higher layer before the wholenumbered mode packet has been received and released. After the numberedmode packet has been completely received and released to the next higherlayer, the contents of the buffer containing unnumbered mode packets isreleased. Then normal operation continues.

[0090] According to a preferred embodiment of the above mentionedmechanism, the receiver additionally has knowledge or information onwhich packet delimiter is being used. The default delimiter should bethe delimiter of the usual packets of the next higher layer (e.g. thePPP frame delimiter), but if another delimiter shall be used, this canbe negotiated between the two link layer entities, i.e. the two RLPpeers. This in other words means that other protocol packets of the nexthigher layer could be processed, i.e. those of more than one protocol.In the context of the above example relating to PPP frames beingembedded in RLP packets, this means that the RLP implementation couldthen not only embed PPP frames but frames of other protocols as well,where said other protocols belong to the same layer as PPP. There are avariety of possibilities of how the receiver can obtain thisinformation. In the case of link layer protocols based on HDLC (such asGSM RLP) using a special signaling frame or XID frame, which is astandard HDLC frame for link parameter negotiation, said XID framehaving a new parameter can be used.

[0091] Another mechanism, which only relates to the sending features,will now be described. In other words, the receiver implementation willnot be changed in any way. Thus, the receiver will always releaseunnumbered mode packets when received and the delivery of numbered modepackets is as usual released in order. Therefore it is up to the senderto make sure that the higher layer packets (e.g. PPP frames) will bereleased correctly at the receiver. This can be done in such a way thatbefore the sender starts an unnumbered mode session, no unacknowledgednumbered mode packet is allowed to be outstanding, i.e. all numberedmode packets have to be acknowledged by the receiver. Although thismechanism is simpler to implement, as it does not change the receivingfeatures, it results in an extra delay introduced when switching betweena numbered mode session and an unnumbered mode session.

[0092] Finally, another mechanism could consist in controlling theoutput buffer of the sender in such a way that when an unnumbered modesession is being run by the sender, all unnumbered mode packets to besent should be sent in consecutive RLP frames carrying the unnumberedflag.

[0093] As already mentioned previously, the above described mechanismshave been explained by using RLP and PPP as preferred examples, butthese mechanisms are naturally not restricted to these protocols. Muchrather they can be implemented for any protocols having the suitablefeatures.

[0094] In the above embodiments, the invention was described with regardto discriminating with respect to a specific field in the packet headerof a packet being embedded, namely the protocol ID field of higherlayers, and with respect to the specific transmission scheme ofARQ-based error recovery, using the two operating modes relating toreliability, namely the numbered mode and the unnumbered mode. Theinvention is by no means restricted thereto.

[0095] Much rather, the invention may equally well be applied todiscriminating with respect to any packet content in any part of apacket, such as also the above mentioned DS field or IP option.Regarding the operating modes associated with ARQ, naturally more thantwo may be employed, such as e.g. the alraedy mentioned numbered andunnumbered mode supplemented by a mixed mode.

[0096] The present invention is also not restricted with respect to thetransmission scheme of ARQ, i.e. error recovery, but may also be appliedto any operating modes associated with any type of forward errorcorrection. More specifically, the present invention is applicable toall transmission schemes which have at least two different operatingmodes, such as the transmission scheme of FCS-based error detection(FCS=Frame Check Sequence) with the operating modes of e.g. the receiverdiscarding erroneous frames, the receiver marking but not discardingerroneous frames, and the receiver neither marking nor discardingerroneous frames, where the discriminating operation may naturally bemade in view of any two of the modes or all three. Or the invention isapplicable to the transmission scheme of FEC-based error correction(FEC=Forward Error Control) with the operating modes of e.g. using oneof two or more FEC schemes. Or the invention is applicable to thetransmission scheme of interleaving-based error prevention with theoperating modes of e.g. using one of two or more interleaving schemes.Or the invention is applicable to the transmission scheme of powercontrol with the operating modes of e.g. using one of two or more powerlevels. Or the invention is applicable to the transmission schemespreading-based error prevention (in spread-spectrum technologies suchas CDMA) with the operating modes of e.g. using one of two or morespreading factors. Or the invention is applicable to the transmissionscheme of frame length control with the operating modes of using e.g.one of two or more possible frame lengths. Or the invention isapplicable to the transmission scheme of bandwidth reservation controlwith the appropriate operating modes such as the allocation of 1, 2, 3,. . . or 8 time slots e.g. in the GPRS communication standard.

[0097] Naturally, all of these transmission schemes and operating modesmay be combined in any arbitrary and suitable way. This means that thediscriminating may be conducted in view of generalized operating modesthat consist e.g. of a combination of ARQ-related mode and power controlrelated mode, such for example the numbered mode, the unnumbered mode,and 4 power levels are combined to achieve 8 modes, i.e. (I-mode, powerlevel 1), (I-mode, power level 2), . . . , (UI-mode, power level 4). Asalready mentioned, arbitrary combinations are possible, as is bestsuited for the specific application.

[0098] Now a further preferred embodiment of the invention will bedescribed in connection with FIG. 10. According to this preferredembodiment, the present invention is applied to provide a way oftransmitting packets at a lower layer in accordance with transmissionquality requests such as QoS (Quality of Service) requirements and/ortransmission priorities specified by peers of a higher layer, where thepackets or data units of said higher layer are embedded at said lowerlayer.

[0099] In the following description the term L3 will be used to refer toa network layer protocol, e.g. IPv4 or IPv6, also see FIG. 3. The L3protocol data unit (PDU) will be referred to as a packet, and the PDUheader as a packet header. The term L1/L2 will be used to refer to aprotocol or a set of two or more protocols below L3, such as thephysical and/or the link layer of a specific network, again see FIG. 3.The term bearer will be used for an L1/L2 with either fixed settings forall L1/L2 operating modes or fixed QoS (Quality of Service) settings towhich all L1/L2 operating modes are dynamically adapted depending on themomentary conditions of the medium underlying L1/L2 (e.g. radio). Theterm peers will be used as above, i.e. as relating to processes thatcommunicate according to a common protocol of a certain layer. Examplesare a WWW client and server communicating according to the HTTP protocolon the application layer, or a TCP sender and receiver on the transportlayer, also see FIG. 6. In the following context, the term peer willalways refer to peers which communicate according to protocols which aredirectly or indirectly based on L3. The term flow will refer to a singleinstance of peer-to-peer L3-packet-based (packet-switched) traffic whichis identified by source address, source port, destination address,destination port and protocol ID. In other words, a flow is a uniquelyidentifiable stream of packets. Each flow is considered as havingcertain QoS requirements. QoS requirements may vary over time.

[0100] It may be noted that when it is said that a peer (e.g. a legacyWWW browser) chooses the QoS requirements for its flow, this alsocomprises that some other process does this on behalf of the peer.

[0101]FIG. 10 shows a communication between a mobile IP-host suitablylinked (in FIG. 10 over a so called bluetooth link) to a mobiletelephone adapted to transport IP packets. The telephone in turn canestablish a radio link with a wireless access network, where anysuitable communication standard can be used, such as e.g. GSM, GPRS orW-CDMA. The wireless access network is connected to the Internet, whichcomprises a multitude of hosts, two of which are shown in FIG. 10.

[0102] The lower part of the figure schematically shows thecommunication situation. Peers A.1 and B.1 are shown as examples on themobile side, and peers A.2 and B.2 as their respective counterparts.These peers may pass QoS requirements and/or transmission priorities,i.e. in general quality requests as control information, to the L3layer. The peers are either L3 peers or of protocol layers above L3.This can be done by specifying a given field in the L3 header asrelating to quality requests, such that the L3 layer is used as a levelthrough which peers express their QoS requirements and/or priorities ona per flow or per packet basis.

[0103] The discrimination of L3 packets is handled by a controller orcontrolling process 11 at each side of L1/L2, which in turn controls anadapter or adaptation process 12 in response to the discriminationresult. The controlling process 11 “reads” the per packet QoSrequirements and/or priorities and maps them to respective L1/L2operating modes and/or priorities of that network. The adaptationprocess 12 is capable of adapting the L1/L2 operating modes on a perpacket basis and makes this decision at least in part dependent on theinformation provided by the controller. Typically, the adaptation of theL1/L2 operating modes will also be conducted on the basis of measuredconditions of the medium underlying L1/L2.

[0104] As a consequence, the present embodiment comprises dynamicallyadapting L1/L2, where L1/L2 is adaptable on a per packet basis, andhaving a control process which has access to the per flow/packet QoSrequirements and/or priorities and which can use those to control theadaptation process and/or the L1/L2 scheduler(s) accordingly.

[0105] As an example, the optimal adaptation of L1/L2 for TCP would useARQ-based error recovery in I-mode and other transmission schemes, e.g.FEC to be optimized for highest throughput. On reading the protocol IDfield (which says that it is a TCP flow) in the packet header, thecontroller can make the appropriate decision, e.g. for amobile-terminated TCP flow. The optimal adaptation for a real-timeVoiceOverIP flow (e.g. broadcast radio which does not have a sessioninitiation protocol) would use no ARQ-based error recovery (UI-mode) andother transmission schemes, e.g. FEC to be optimized to the sourcetransmission rate and lowest residual error. On reading the DS field inthe packet header, the controller can make the appropriate decision,e.g. for a mobile-terminated real-time VoiceOverIP flow.

[0106] The above described embodiment solves a problem of known L1/L2protocol implementations. L1/L2 of state-of-the-art networks (e.g.wireless networks) have to simultaneously transport different flows eachpotentially having different QoS requirements. However, L1/L2 ofstate-of-the-art networks cannot be adapted down to the level of exactlymeeting the QoS requirements of individual flows, and also not one stepfurther down to the level of meeting the QoS requirements of individualpackets of a flow. The latter could e.g. be required for flows whichhave QoS requirements that vary over time so that different packets ofthe same flow have different QoS requirements. Instead, state-of-the-artnetworks can at most only support one or more bearers simultaneously.However, the way that flows are mapped onto those bearers is notdirectly related to the QoS requirements of those flows but is based oncriteria like priorities, which e.g. correspond to network operatorcharges per packet (as e.g. done in the GPRS communication system). Theresulting problem is that either the QoS requirements of someFlows/packets are not met, or the QoS requirements of some flows/packetsare met but only in a non-optimal way (e.g. the FEC scheme chosen for aTCP window flow is too strong providing a lower bit rate than could havebeen provided with the optimal FEC scheme), or the QoS requirements ofsome flows/packets are exceeded, which corresponds to wasted networkresources (e.g. spectrum or transmission power).

[0107] It should be noted that the adaptation of L1/L2 to the QoSrequirements of flows is independent of the concept of priority-basedtraffic scheduling. For example, a real-time voice stream will havespecific QoS requirements independent of whether it is assigned to thebest-effort or some kind of predictive QoS traffic class.

[0108] The present embodiment solves this problem by dynamicallyadapting L1/L2 to the QoS requirements of each flow or packet. Itprovides the following functionalities and their interworking:

[0109] functionality 1: a standardized scheme through which the QoSrequirements for individual flows/packets can be uniquely specified sothat the semantics are the same in any network supporting that scheme;

[0110] functionality 2: an adaptation process which can adapt L1/L2according to operating modes provided by a control process. Theoperation modes can either be provided explicitly or implicitly in aform that only has local semantics, e.g. with respect to QoS which arespecific for the network of that L1/L2. The adaptation process cancombine the operating modes provided by the control process withmeasurement information about conditions of the medium (e.g. radio)underlying L1/L2 to eventually decide on the final operating mode. Thisis however only an implementation detail;

[0111] functionality 3: a control process which is capable ofcontrolling the adaptation process on a per flow/packet basis given theQoS requirements of each flow/packet by having access to the controlchannel; and

[0112] functionality 4: a control channel through which the perflow/packet QoS requirements can be made available to the controlprocess.

[0113] It may be noted that the adaptation and the control process eachcan either be distributed processes, e.g. one process per L1/L2transmission scheme, or a single process adapting/controlling all L1/L2transmission schemes. This is again an implementation detail. It mayalso be noted that the above described functionalities require an L1/L2which can be adapted on a per packet basis or at least on a per packetsequence basis, e.g. it must be possible to change the FEC from onepacket to the other or at least from one sequence of packets to theother.

[0114] Regarding what is known from the state of the art of RfC 2475, itmust specifically be remarked that RfC 2475 does not hint at dynamicallyadapting L1/L2. Moreover, it is not known from the prior art toimplement L1/L2 to be adaptive with respect to QoS requirements ofindividual packets/flows (functionality 2), and it is not known toprovide the control process of functionality 3.

[0115] Using the communication systems of GSM-CSD or GPRS as examples ofstate-of-the-art networks, a number of scenarios may be given forshowing that both networks are missing functionalities to support perflow/packet adaptation.

[0116] Taking the arrangement of peers A.1, B.1, A.2 and B.2 from FIG.10 as an example (i.e. without the features of the invention), then, ina conventional network, peers that are physically close (e.g. A.1 andB.1) to L1/L2 in GSM-CSD and GPRS have a direct control channel to adaptthat L1/L2 according to QoS which are explicitly known to that peer (ora process that acts on its behalf). For example peers A.1 and B.1 couldhave access on an AT command interpreter through which it can be chosento run a reliable link layer protocol (RLP) or not to do so (transparentor non-transparent mode). Using RLP would e.g. be optimal for a TCPflow. On the other hand peers A.2 and B.2 would have no way of adaptingdifferent L1/L2s for a TCP-flow they initiate. There is also no controlprocess (functionality 3) which could perform the adaptation on behalfof peer A.2 and/or B.2.

[0117] GSM-CSD is only capable of operating according to fixed modes(e.g. FEC scheme x and I-mode error recovery) for the duration of thecircuit switched call, although several flows with potentially differentQoS requirements may have to be transported simultaneously.

[0118] It should be remarked that although the invention has beendescribed with reference to specific embodiments, this should not beseen as restricting the invention to these embodiments, as these havebeen presented for the sake of clarity and completeness, but theinvention is to be seen as defined by the appended claims. Referencesigns in the claims serve to make the claims more readily understandableand do not limit the scope.

What is claimed is:
 1. Communication device for generating data packetshaving a first data structure determined by a first predeterminedprotocol, which is arranged to receive data packets of a secondstructure determined by a predetermined second protocol and generatingsaid data packets of said first structure by embedding each data packetof said second structure in one or more data packets of said firststructure, and which comprises a discriminator means that is arranged todiscriminate said data packet of said second structure according topredetermined rules, on the basis of the contents of said data packetsof said second structure.
 2. Communication device according to claim 1,said first predetermined protocol supporting at least two transmissionreliability modes according to which data packets are sent, where saidtransmission reliability modes are distinguishable at least with respectto rules regarding the retransmission of data packets, and where eachgenerated data packet contains information on the transmissionreliability mode according to which said each data packet is to be sent,such that a receiver of said each data packet may determine according towhich of said transmission reliability modes said each data packet wassent, and said information on the transmission reliability mode is setin said each data packet by said communication device prior to sendingsaid each data packet, and said discriminator means being arranged todiscriminate a given data packet of said second structure according tosaid predetermined rules, such that the information on the transmissionreliability mode in the one or more data packets of said first structurecontaining said given data packet of said second structure is set inaccordance with the discrimination result.
 3. Communication deviceaccording to claim 2, wherein said first protocol supports twotransmission reliability modes, which are a first mode that comprisesrules for the retransmission of data packets under predeterminedconditions, and a second mode that does not provide for theretransmission of data packets.
 4. Communication device according toclaim 1, wherein said communication device is arranged to segment saiddata packets of said second structure in said data packets of said firststructure.
 5. Communication device according to claim 1, wherein saidcommunication device is arranged to encapsulate said data packets ofsaid second structure in said data packets of said first structure. 6.Communication device according to claim 1, further comprising an outputbuffer, into which the data packets of said first structure are passed,and from which said packets are sent out.
 7. Communication deviceaccording to claim 2, further comprising an output buffer, into whichthe data packets of said first structure are passed and said outputbuffer being arranged to place each data packet of said first structurein a queue associated with the transmission reliability mode set in saideach packet.
 8. Communication device according to claim 7, wherein saidfirst protocol supports two transmission reliability modes, which are afirst mode that comprises rules for the retransmission of data packetsunder predetermined conditions, and a second mode that does not providefor the retransmission of data packets, and said output buffer isarranged to send out data packets of said first mode that are to beretransmitted with a higher priority than other data packets. 9.Communication device according to claim 1, wherein said data packets ofsaid second structure transport one or more sections carryinginformation on the contents of the packet, and said discriminator meansis arranged to analyze said one or more sections to thereby discriminatesaid data packets of said second structure in accordance with theircontents.
 10. Communication device according to claim 9, wherein saidone or more sections are packet headers associated with respectiveprotocol layers and containing protocol identification informationidentifying the protocol with which the contents of the packet areassociated.
 11. Communication device according to claim 2, wherein saiddata packets of said second structure have one or more sections carryinginformation on the contents of the packet, and said discriminator meansis arranged to analyze said one or more sections to thereby discriminatesaid data packets of said second structure in accordance with theircontents, where said one or more sections are packet headers associatedwith respective protocol layers and containing protocol identificationinformation identifying the protocol with which the contents of thepacket are associated, and said packet headers form a hierarchy inaccordance with the protocol layers, and, for a packet to bediscriminated, said discriminator means is arranged to first determinethe protocol identification in the header associated with said secondprotocol and then compare said protocol identification with stored rulesthat allocate a predetermined transmission reliability mode topredetermined protocol identifications, set the transmission reliabilitymode for said packet to be discriminated in accordance with a determinedallocation if said protocol identification is among the stored rules,and if said protocol identification is not among the stored rules, thendetermine the protocol identification in the header associated with thenext protocol one layer up in the hierarchy and then compare saidprotocol identification of said next protocol with said stored rulesthat allocate a predetermined transmission reliability mode, where saidprocess of determining and comparing is repeated until one of adetermined protocol identification in said packet to be discriminated isallocated to a predetermined transmission reliability mode according toone of the rules, in which case said transmission reliability mode isset for said packet to be discriminated, and a fail-safe condition ismet, in which case a default transmission reliability mode is set forsaid packet to be discriminated.
 12. Communication device according toclaim 3, wherein said first protocol specifies performing segmentationin order to embed said packets of said second data structure in saidpackets of said first structure.
 13. Communication device according toclaim 1, wherein said first protocol is a protocol for sending packetsover a link.
 14. Communication device according to claim 13, whereinsaid link is a radio link.
 15. Communication device according to claim13, wherein said communication device is arranged to also receive datapackets of said first structure over said link.
 16. Communication deviceaccording to claim 12, wherein said first protocol is a protocol forsending packets over a link and said communication device is arranged toalso receive data packets of said first structure over said link, and inthat a receiving buffer means is provided for receiving said datapackets of said first structure over said link, where said receivingbuffer means comprises a first part associated with said firsttransmission reliability mode for storing data packets sent inaccordance with said first transmission reliability mode, and a secondpart associated with said second transmission reliability mode forstoring data packets sent in accordance with said second transmissionreliability mode.
 17. Communication device according to claim 16, beingadapted to determine the occurrence of a packet delimiter belonging to apacket of said second data structure in received packets of said firstdata structure, and said receiving buffer being adapted to store saidreceived packets of said first data structure until one of a completepacket of said second data structure has been received, which isdetermined by the receipt of packet delimiters belonging to packets ofsaid second data structure, and, for packets of said first datastructure belonging to said second transmission reliability mode, apredetermined buffer limit is exceeded.
 18. Communication deviceaccording to claim 12, being adapted to determine the occurrence of apacket delimiter belonging to a packet of said second data structure inpackets of said second data structure that are to be embedded, and toduplicate said packet delimiters prior to embedding.
 19. Communicationdevice according to claim 16, said first transmission reliability modebeing such that packets of said first transmission reliability mode arenumbered to thereby specify a correct order, and said communicationdevice being adapted to determine the occurrence of a packet delimiterbelonging to a packet of said second data structure in received packetsof said first data structure belonging to said first transmissionreliability mode, said receiving buffer being adapted to immediatelyrelease received packets of said first data structure, both thosebelonging to said first and said second transmission reliability mode,to the next higher layer, except if packets belonging to said firsttransmission reliability mode need to be retransmitted, in which casethe received packets belonging to said first transmission reliabilitymode are buffered until they can be released in the correct order, andpackets belonging to said first transmission reliability mode arefollowed by packets belonging to said second transmission reliabilitymode, in which case said receiving buffer is adapted to immediatelyrelease received packets of said first data structure belonging to saidsecond transmission reliability mode if no packets of said firsttransmission reliability mode are being stored, and to store receivedpackets of said first data structure belonging to said secondtransmission reliability mode if packets of said first transmissionreliability mode are being stored, until a complete packet of saidsecond data structure and first transmission reliability mode has beenreceived and released, after which the stored packets of said first datastructure belonging to said second transmission reliability mode arereleased.
 20. Communication device according to claim 17, saidpredetermined packet delimiter being specified by a message receivedover said link.
 21. Communication device according to claim 12, whereinsaid first protocol is a protocol for sending packets over a link, theretransmission of packets belonging to said first transmissionreliability mode is decided on the basis of acknowledgment packets forpackets already sent over said link, and an output buffer means isprovided that is adapted to send out packets belonging to said secondtransmission reliability mode only if the receipt of all previously sentpackets of said first transmission reliability mode has beenacknowledged.
 22. Communication device according to claim 1, whereinsaid first predetermined protocol supports at least two operation modesaccording to which data packets are sent, said discriminator meanscomprises a controlling means, where said controlling meansdiscriminates said data packets of said second structure on the basis oftheir contents and maps them to an operation mode on the basis of thediscrimination result, and generates adaptation control data on thebasis of said discrimination result, and where an adapting means isprovided for selecting one of said at least two operating modes inresponse to said adaptation control data.
 23. Communication deviceaccording to claim 22, wherein said adapting means is additionallyarranged to take into account data associated with the link over whichsaid data packets of said first structure are sent when selecting one ofsaid at least two operating modes in response to said adaption controldata.
 24. Communication device according to claim 22, wherein saidcontrolling means discriminates said data packets of said secondstructure on the basis of the contents of a predetermined field in theheader of said data packets of said second structure.
 25. Communicationdevice according to claim 24, wherein said predetermined field carriestransmission quality requests as a part of said data packets of saidsecond structure.
 26. Communication device according to claim 22,wherein said operating modes are associated with at least one ofautomatic repeat request error recovery and forward error correction.27. Communication device according to claim 26, wherein said forwarderror correction comprises one or more of frame check sequence basederror detection, forward error control based error correction,interleaving-based error prevention, power control, spreading-basederror prevention, frame length control, and bandwidth reservationcontrol.
 28. Method for generating data packets having a first datastructure determined by a first predetermined protocol, comprising:discriminating received data packets of a second structure determined bya second predetermined protocol according to predetermined rules, on thebasis of the contents of said data packets of said second structure, andembedding data packets of said second structure in data packets of saidfirst structure.
 29. Method for generating data packets according toclaim 28, said first predetermined protocol supporting at least twotransmission reliability modes according to which data packets may besent, where said transmission reliability modes are distinguishable atleast with respect to rules regarding the retransmission of datapackets, and where each generated data packet contains information onthe transmission reliability mode according to which said each datapacket is to be sent, such that a receiver of said each data packet maydetermine according to which of said transmission reliability modes saideach data packet was sent, and the information on the transmissionreliability mode in a data packet of said first structure containing agiven data packet of said second structure being set in accordance withthe result of said discriminating step for said given data packet ofsaid second structure.
 30. Method according to claim 29, wherein saidfirst protocol supports two transmission reliability modes, which are afirst mode that comprises rules for the retransmission of data packetsunder predetermined conditions, and a second mode that does not providefor the retransmission of data packets.
 31. Method according to claim28, wherein said data packets of said second structure are encapsulatedin said data packets of said first structure.
 32. Method according toclaim 28, wherein said data packets of said second structure aresegmented in said data packets of said first structure.
 33. Methodaccording to claim 28, wherein said data packets of said first structureis passed into an output buffer.
 34. Method according to claim 29, saiddata packets of said first structure being passed into an output buffer,and said output buffer placing each data packet of said first structurein a queue associated with the transmission reliability mode set in saideach packet.
 35. Method according to claim 34, wherein said firstprotocol supports two transmission reliability modes, which are a firstmode that comprises rules for the retransmission of data packets underpredetermined conditions, and a second mode that does not provide forthe retransmission of data packets, and said output buffer sends outdata packets of said first mode that are to be retransmitted with ahigher priority than other data packets.
 36. Method according to claim28, wherein said data packets of said second structure transport one ormore sections carrying information on the contents of the packet, andsaid discrimination step comprises analyzing said one or more sectionsto thereby discriminate said data packets of said second structure inaccordance with their contents.
 37. Method according to claim 36,wherein said one or more sections are packet headers associated withrespective protocol layers and containing protocol identificationinformation identifying the protocol with which the contents of thepacket are associated.
 38. Method according to claim 29, wherein saiddata packets of said second structure have one or more sections carryinginformation on the contents of the packet, and said discrimination stepcomprises analyzing said one or more sections to thereby discriminatesaid data packets of said second structure in accordance with theircontents, said one or more sections are packet headers associated withrespective protocol layers and containing protocol identificationinformation identifying the protocol with which the contents of thepacket are associated, and said packet headers form a hierarchy inaccordance with the protocol layers, and, for a packet to bediscriminated, said discrimination step includes first determining theprotocol identification in the header associated with said secondprotocol and then comparing said protocol identification with storedrules that allocate a predetermined transmission reliability mode topredetermined protocol identifications, setting the transmissionreliability mode for said packet to be discriminated in accordance witha determined allocation if said protocol identification is among thestored rules, and if said protocol identification is not among thestored rules, then determining the protocol identification in the headerassociated with the next protocol one layer up in the hierarchy and thencomparing said protocol identification of said next protocol with saidstored rules that allocate a predetermined transmission reliabilitymode, where said process of determining and comparing is repeated untilone of a determined protocol identification in said packet to bediscriminated is allocated to a predetermined transmission reliabilitymode according to one of the rules, in which case said transmissionreliability mode is set for said packet to be discriminated, and afail-safe condition is met, in which case a default transmissionreliability mode is set for said packet to be discriminated.
 39. Methodaccording to claim 30, wherein said first protocol specifies performingsegmentation in order to embed said packets of said second datastructure in said packets of said first structure.
 40. Method accordingto claim 28, wherein said first protocol is a protocol for sendingpackets over a link.
 41. Method according to claim 40, wherein said linkis a radio link.
 42. Method according to claim 40, further receivingdata packets of said first structure over said link.
 43. Methodaccording to claim 39, wherein said first protocol is a protocol forsending packets over a link, data packets of said first structure arealso received over said link, and a receiving buffer means is used, forreceiving said data packets of said first structure over said link,where said receiving buffer means comprises a first part associated withsaid first transmission reliability mode for storing data packets sentin accordance with said first transmission reliability mode, and asecond part associated with said second transmission reliability modefor storing data packets sent in accordance with said secondtransmission reliability mode.
 44. Method according to claim 43, furthercomprising determining the occurrence of a packet delimiter belonging toa packet of said second data structure in received packets of said firstdata structure, and said receiving buffer storing said received packetsof said first data structure until one of a complete packet of saidsecond data structure has been received, which is determined by thereceipt of packet delimiters belonging to packets of said second datastructure, and, for packets of said first data structure belonging tosaid second transmission reliability mode, a predetermined buffer limitis exceeded.
 45. Method according to claim 39, further comprisingdetermining the occurrence of a packet delimiter belonging to a packetof said second data structure in packets of said second data structurethat are to be embedded, and duplicating said packet delimiters prior toembedding.
 46. Method according to claim 43, said first transmissionreliability mode being such that packets of said first transmissionreliability mode are numbered to thereby specify a correct order, andfurther comprising determining the occurrence of a packet delimiterbelonging to a packet of said second data structure in received packetsof said first data structure belonging to said first transmissionreliability mode, said receiving buffer immediately releasing receivedpackets of said first data structure, both those belonging to said firstand said second transmission reliability mode, to the next higher layer,except if packets belonging to said first transmission reliability modeneed to be retransmitted, in which case the received packets belongingto said first transmission reliability mode are buffered until they canbe released in the correct order, and packets belonging to said firsttransmission reliability mode are followed by packets belonging to saidsecond transmission reliability mode, in which case said receivingbuffer is adapted to immediately release received packets of said firstdata structure belonging to said second transmission reliability mode ifno packets of said first transmission reliability mode are being stored,and to store received packets of said first data structure belonging tosaid second transmission reliability mode if packets of said firsttransmission reliability mode are being stored, until a complete packetof said second data structure and first transmission reliability modehas been received and released, after which the stored packets of saidfirst data structure belonging to said second transmission reliabilitymode are released.
 47. Method according to claim 44, said predeterminedpacket delimiter being specified by a message received over said link.48. Method according to claim 39, wherein said first protocol is aprotocol for sending packets over a link, the retransmission of packetsbelonging to said first transmission reliability mode is decided on thebasis of acknowledgment packets for packets already sent over said link,and an output buffer means is provided that sends out packets belongingto said second transmission reliability mode only if the receipt of allpreviously sent packets of said first transmission reliability mode hasbeen acknowledged.
 49. Method according to claim 28, wherein said firstpredetermined protocol supports at least two operation modes accordingto which data packets are sent, a controlling process and an adaptingprocess are provided, where said controlling process discriminates saiddata packets of said second structure on the basis of their contents andmaps them to an operation mode on the basis of the discriminationresult, and generates adaptation control data on the basis of saiddiscrimination result, and where said adapting process selects one ofsaid at least two operating modes in response to said adaptation controldata.
 50. Method according to claim 49, wherein said adapting processadditionally takes into account data associated with the link over whichsaid data packets of said first structure are sent when selecting one ofsaid at least two operating modes in response to said adaption controldata.
 51. Method according to claim 49, wherein said controlling processdiscriminates said data packets of said second structure on the basis ofthe contents of a predetermined field in the header of said data packetsof said second structure.
 52. Method according to claim 51, wherein saidpredetermined field carries transmission quality requests as a part ofsaid data packets of said second structure.
 53. Method according toclaim 49, wherein said operating modes are associated with at least oneof automatic repeat request error recovery and forward error correction.54. Method according to claim 51, wherein said forward error correctioncomprises at least one of frame check sequence based error detection,forward error control based error correction, interleaving-based errorprevention, power control, spreading-based error prevention, framelength control, and bandwidth reservation control.
 55. Communicationdevice for generating data packets having a first data structuredetermined by a first predetermined protocol, which is arranged toreceive data packets of a second structure determined by a predeterminedsecond protocol and generating said data packets of said first structureby embedding each data packet of said second structure in one or moredata packets of said first structure, and which comprises adiscriminator that is arranged to discriminate said data packet of saidsecond structure according to predetermined rules, on the basis of thecontents of said data packets of said second structure. 56.Communication device for generating data packets having a first datastructure determined by a first predetermined protocol, which isarranged to receive data packets of a second structure determined by apredetermined second protocol and generating said data packets of saidfirst structure by embedding each data packet of said second structurein one or more data packets of said first structure, and which comprisesa discriminator that is arranged to discriminate said data packet ofsaid second structure according to predetermined rules, on the basis ofthe contents of said data packets of said second structure, furthercomprising an output buffer, into which the data packets of said firststructure are passed, and from which said packets are sent out, whereinsaid first protocol supports at least two transmission reliabilitymodes, which are a first mode that comprises rules for theretransmission of data packets under predetermined conditions, and asecond mode that does not provide for the retransmission of datapackets.